// pages/course/teacherDetail/teacherDetail.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    consult: [],
    consultId: "",
    courseList: [],
    courseId: '',
    articleList: [],
    articleId: '',
    pageNum: 1,
    pageSize: 3,
    isAllLoadedCourses: false, // 标记课程是否已加载所有数据
    isAllLoadedArticles: false // 标记文章是否已加载所有数据
  },

  // 加载课程数据的函数
  loadMoreCourses: function() {
    const { pageNum, pageSize, consultId } = this.data;
    wx.showLoading({
      title: '课程数据加载中...'
    });
    wx.request({
      url: 'http://localhost:8888/course/findByPage',
      data: {
        pageNum: pageNum,
        pageSize: pageSize,
        consultId: consultId
      },
      method: 'GET',
      success: (res) => {
        let newCourses = res.data.data.list;
        if (newCourses.length < pageSize) {
          this.setData({ isAllLoadedCourses: true });
        }
        this.setData({
          courseList: [...this.data.courseList,...newCourses],
          pageNum: pageNum + 1
        });
        wx.hideLoading();
      },
      fail: (err) => {
        console.error('加载更多课程数据失败：', err);
        wx.showToast({
          title: '加载更多课程数据失败，请检查网络或稍后重试',
          icon: 'error'
        });
        wx.hideLoading();
      }
    });
  },

  // 加载文章数据的函数
  loadMoreArticles: function() {
    const { pageNum, pageSize, articleId } = this.data;
    wx.showLoading({
      title: '文章数据加载中...'
    });
    wx.request({
      url: 'http://8.152.223.34:8888/article/findByPage/',
      data: {
        pageNum: pageNum,
        pageSize: pageSize,
        articleId: articleId
      },
      method: 'GET',
      success: (res) => {
        let newArticles = res.data.data.list;
        if (newArticles.length < pageSize) {
          this.setData({ isAllLoadedArticles: true });
        }
        this.setData({
          articleList: [...this.data.articleList,...newArticles],
          pageNum: pageNum + 1
        });
        wx.hideLoading();
      },
      fail: (err) => {
        console.error('加载更多文章数据失败：', err);
        wx.showToast({
          title: '加载更多文章数据失败，请检查网络或稍后重试',
          icon: 'error'
        });
        wx.hideLoading();
      }
    });
  },

  getData() {
    let that = this;
    //获取咨询信息
    wx.request({
      url: 'http://8.152.223.34:8888/consult/findByIdConsult/' + that.data.consultId,
      method: 'GET',
      success(res) {
        that.setData({
          consult: res.data.data
        });
      }
    });

    // 调用课程接口
    this.loadMoreCourses();

    // 调用文章接口
    this.loadMoreArticles();
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    let that = this;
    that.setData({
      consultId: options.consultId
    });
    this.getData();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      pageNum: 1,
      isAllLoadedCourses: false,
      isAllLoadedArticles: false,
      courseList: [],
      articleList: []
    });
    this.getData();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})
